#include <../include/memory.h>

/**
 * 计算对齐后的内存大小
 * @param size 原始大小
 * @param alignment 对齐字节数
 * @return 对齐后的大小
 * 1.如果对齐字节数为 0，直接返回原始大小
 * 2. 计算对齐后的大小，（size + alignment -1 ）& ~(alignment - 1)
 * 3. 返回对齐后的大小
 */
size_t memory_align_size(size_t size, size_t alignment)
{
    if(alignment == 0)  return size;
    // size + alignment - 1 确保向上取整
    // & （alignment - 1） 消除低位，得到对齐地址
    return (size + alignment -1) & ~(alignment - 1);
}

/**
*获取系统内存信息
*@param total_memory 返回总内存大小
*@param available_memory 返回可用内存大小
*@note
*调用 sysconf 函数获取系统内存信息
*计算总内存 = totalram * mem_unit
*计算可用内存 = totalram - freeram
*/
void memory_get_system_info(size_t* total_memory, size_t* available_memory)
{
    
}
